/**
 * @description: 请求响应参数（不包含data）
 */
export interface Result {
	code: string;
	message: string;
}

/**
 * @description: 请求响应参数（包含data）
 */
export interface ResultData<T = any> extends Result {
	result: T;
}

// * 分页响应参数
export interface ResPage<T> {
	datalist: T[];
	pageNum: number;
	pageSize: number;
	total: number;
}

// * 分页请求参数
export interface ReqPage {
	pageNum: number;
	pageSize: number;
}

// * 登录模块
export namespace Login {
	export interface ReqLoginForm {
		username: string;
		password: string;
		grant_type?: string;
		client_id?: string;
		client_secret?: string;
	}
	// 响应值
	export interface ResLogin {
		access_token: string;
	}
	export interface ResAuthButtons {
		[key: string]: {
			[key: string]: boolean;
		};
	}
}
